---
title: Configuration settings
summary: Configuration keys consumed by SAIF.Business.Claim.Legal, retrieval methods, and runtime dependencies.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
---

# Configuration settings

This library retrieves configuration exclusively through `IEnvironmentService` (`AppGlobal.EnvironmentService`); no `ConfigurationManager.AppSettings`, `GetSecureConfigSetting`, or `DbConnectionManager` usage was found. Two environment-identity/config keys are consumed directly, plus three transitive keys required by `SAIF.Business.View.Policy`.

## Configuration retrieval methods

| Method | Class / Interface | Namespace | Usage pattern |
| --- | --- | --- | --- |
| `AppGlobal.EnvironmentService.GetConfigSetting(string key)` | `IEnvironmentService` (via static `AppGlobal`) | `SAIF.Framework.Security` | Direct static access at point of use (property getter), not wrapped in a dedicated configuration class. 2 call sites. |
| `AppGlobal.EnvironmentService.GetApplicationEnvironment()` | `IEnvironmentService` (via static `AppGlobal`) | `SAIF.Framework.Security` | Compared against `ApplicationEnvironment.Prod` to derive a local `testing` flag that gates non-Production behavior (e.g., Exchange calendar sync). Not a keyed setting — an environment-identity check. 4 call sites. |
| `Global.System.Configuration.ApplicationSettingsBase` (`My.Settings`) | `MySettings` | `System.Configuration` | Auto-generated scaffold present in `Settings.Designer.vb`/`Settings.settings`, but no typed setting properties are defined.* |

## Environment API settings

Settings retrieved via `IEnvironmentService` (centralized environment configuration service).

| Setting key | Method | Data type | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- | --- |
| `xpressionsoutputdocumentspath` | `GetConfigSetting` | string | Filesystem output path for generated correspondence/letter documents. | `clsLetterRequest` (`OutputFilePath` getter) | `SAIF.Business.Claim.Legal\Print\clsLetterRequest.vb` (line 350) |
| `Legal.LettersManagingAttorneyUserId` | `GetConfigSetting` | string | Default managing-attorney user ID used as a fallback on letters when no specific attorney is assigned. | `clsLetterRequest` (`SaifAttorneyEmployee` getter) | `SAIF.Business.Claim.Legal\Print\clsLetterRequest.vb` (line 462) |

**Non-keyed environment-identity checks** (documented for completeness, not configuration keys):

| Call | Purpose | Consuming class | Source |
| --- | --- | --- | --- |
| `AppGlobal.EnvironmentService.GetApplicationEnvironment() <> ApplicationEnvironment.Prod` | Derives a `testing` flag so Exchange calendar-sync calls behave differently outside Production.* | `clsAttorneySchedule.OnSave()` | `SAIF.Business.Claim.Legal\TableMaint\clsAttorneySchedule.vb` (line 239) |
| Same pattern | Same purpose* | `clsConsolidations.ConsolidateCases()` | `SAIF.Business.Claim.Legal\LegalNet\clsConsolidations.vb` (lines 264, 466) |
| Same pattern | Same purpose* | `clsLegalSchedule.RemoveFromCalendars()` / `UpdateCalendars()` | `SAIF.Business.Claim.Legal\LegalNet\clsLegalSchedule.vb` (lines 535, 560) |

## AppSettings (Web.config)

No `<appSettings>` section is declared in this library's `Web.config` or `app.config`, and no `ConfigurationManager.AppSettings` call sites were found in the source. This section is empty for this library.

## Database connection configuration

No `DbConnectionManager`, `EnvironmentConfigKeys`, or `<connectionStrings>` entries were found in this library's config files or source. Database access relies on the SAIF Data Portal (`IDataPortalInfo`/`IPortalRequest`) rather than direct connection-string resolution; no library-owned database connection configuration exists here.**

The following custom configuration sections are declared identically in both `Web.config` and `app.config`:

| Section name | Handler type | Purpose |
| --- | --- | --- |
| `oracle.manageddataaccess.client` | `OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342` | Configures the Oracle ODP.NET Managed Driver provider factory registration used for Oracle database connectivity.* |

Both files also register `system.data` → `DbProviderFactories` pointing `Oracle.ManagedDataAccess.Client` at `Oracle.ManagedDataAccess.Client.OracleClientFactory`. `Web.config` additionally carries `<runtime><assemblyBinding>` redirects for `Newtonsoft.Json`, `System.Runtime.CompilerServices.Unsafe`, and `System.Text.Json` (assembly-binding redirects, not application settings).

## Secure settings

No `GetSecureConfigSetting` or `SystemHashUtil.ComputeHash` occurrences were found anywhere in this library. This section is empty.

## Transitive configuration (from dependencies)

`SAIF.Business.Claim.Legal.vbproj` declares `ProjectReference` entries to `SAIF.Business.View.Policy` and `SAIF.Services.Appworx`. A targeted scan found configuration usage only in `SAIF.Business.View.Policy`:

| Setting key | Method | Source dependency | Dependency type | Purpose |
| --- | --- | --- | --- | --- |
| `BDS_USER` | `GetConfigSetting` | `SAIF.Business.View.Policy` (`clsPolicySecurity`) | Project Reference | Credential/account identifier for BDS ("Business Data Store"*) policy-security connectivity. |
| `bdsDatabase` | `GetConfigSetting` | `SAIF.Business.View.Policy` (`clsPolicySecurity`) | Project Reference | Database/server identifier for BDS connectivity. |
| `BDS_DATABASENAME` | `GetConfigSetting` | `SAIF.Business.View.Policy` (`clsPolicySecurity`) | Project Reference | Database name for BDS connectivity. |

These three keys are only required at runtime if this library (or its host application) exercises code paths in `SAIF.Business.View.Policy.clsPolicySecurity` that depend on BDS connectivity; full call-graph confirmation was out of scope for this pass.** No `SAIF.Services.Appworx` configuration usage was found.

## Configuration dependencies

| Dependency | Type | Required at | Impact if missing |
| --- | --- | --- | --- |
| `xpressionsoutputdocumentspath` | Environment API setting | Letter/print generation | `clsLetterRequest.OutputFilePath` has no confirmed default; absence would raise a runtime exception or empty-path behavior.* |
| `Legal.LettersManagingAttorneyUserId` | Environment API setting | Letter/print generation | No confirmed default; absence affects fallback managing-attorney resolution on printed letters.* |
| `BDS_USER` / `bdsDatabase` / `BDS_DATABASENAME` (transitive) | Environment API settings | Runtime, only if `clsPolicySecurity` code paths are exercised | Hidden dependency: a deployment inventorying only this library's own code could miss the requirement to provision these keys.* |
| `oracle.manageddataaccess.client` config section | Custom config section | Application/library startup | Oracle ODP.NET provider factory would not resolve, breaking all Oracle connectivity.* |

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with `**` could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Business.Claim.Legal\Print\clsLetterRequest.vb` (lines 350, 462)
- `SAIF.Business.Claim.Legal\TableMaint\clsAttorneySchedule.vb` (line 239)
- `SAIF.Business.Claim.Legal\LegalNet\clsConsolidations.vb` (lines 264, 466)
- `SAIF.Business.Claim.Legal\LegalNet\clsLegalSchedule.vb` (lines 535, 560)
- `SAIF.Business.Claim.Legal\Web.config`
- `SAIF.Business.Claim.Legal\app.config`
- `SAIF.Business.Claim.Legal\My Project\Settings.Designer.vb`
- `SAIF.Business.Claim.Legal\My Project\Settings.settings`
- `SAIF.Business.Claim.Legal\SAIF.Business.Claim.Legal.vbproj`
- `SAIF.Business.View.Policy\clsPolicySecurity.vb` (lines 245-247)
